As a method for performing knowledge processing in character recognition, known has been a method that character strings to be recognized are modeled and stored in a knowledge dictionary and that a character string that matches the model is used as a result of the knowledge dictionary. For example, known has been a system that includes a word dictionary unit registering words to be matched and a word matcher including a finite automaton that accepts a word registered in the word dictionary unit, and that outputs the word that the automaton accepted as a result of the knowledge processing (for example, see Japanese Patent Application Laid-open No. H11-143893). Furthermore, known has been a technique for performing knowledge processing by matching a place-name notation described in context-free grammar with character recognition candidates (for example, see Japanese Patent No. 4006176).
In the conventional technologies, however, it has been difficult to perform processing different from the knowledge processing such as detecting a space between a character string and a character string and reflecting the detection result of the space on a matching score, in synchronization with the knowledge processing.